package com.zx.map.service;

import com.zx.map.service.model.CreditRepayInfoModel;
import com.zx.map.service.model.CreditRepayLogModel;
import com.zx.map.service.model.CreditRepayResponse;
import com.zx.mobile.domain.CreditRepayLogQueryDomain;
import org.springframework.dao.DataAccessException;

import java.util.List;
import java.util.Map;

/**
 * Created by IntelliJ IDEA. User: Administrator Date: 14-3-1 Time: 上午11:06 To
 * change this template use File | Settings | File Templates.
 */
public interface CreditRepayLogService {
	/**
	 * 实时出款
	 * @param creditRepayLogModel
	 * @param creditOne
	 */
	public CreditRepayResponse dealCreditRepay(CreditRepayLogModel creditRepayLogModel,CreditRepayInfoModel creditOne);

	/**
	 * 根据Model查找列表
	 *
	 * @param model
	 * @return
	 * @throws org.springframework.dao.DataAccessException
	 */
	public List<CreditRepayLogModel> getListByModel(CreditRepayLogModel model) throws DataAccessException;

	/**
	 * 新增并返回主键
	 *
	 * @param model
	 * @return
	 * @throws org.springframework.dao.DataAccessException
	 */
	public String add(CreditRepayLogModel model) throws DataAccessException;

	/**
	 * 更新并返回主键
	 *
	 * @param model
	 * @throws org.springframework.dao.DataAccessException
	 */
	public String update(CreditRepayLogModel model) throws DataAccessException;

	/**
	 * 删除
	 *
	 * @return
	 * @throws org.springframework.dao.DataAccessException
	 */
	public void delete(CreditRepayLogModel model) throws DataAccessException;

     /**
     *  根据筛选的记录 更新某个字段
     */
    public void updateCreditRepayBySelect(CreditRepayLogModel creditRepayLogModel, CreditRepayLogModel modelSelected);
    
    /**
     * 分页查询
     * @param pageSize
     * @param pageNum
     * @param creditRepayLogModel
     * @return
     * @throws DataAccessException
     */
    public Map getPageByDomain(int pageSize, int pageNum,CreditRepayLogModel creditRepayLogModel)
	throws DataAccessException ;
    
    public Map getPageByDomain(int pageSize, int pageNum, CreditRepayLogQueryDomain domain)
			throws DataAccessException ;
	
	public List<CreditRepayLogModel> getListByDomain(CreditRepayLogQueryDomain domain) throws DataAccessException;
}
